import axios from 'axios'

// 创建axios实例，可配置基础路径等
const service = axios.create({
  baseURL: "http://localhost:8080/", // 实际项目中替换为你的API基础路径
  timeout: 5000
})

/**
 * 获取用户列表
 * @param {Object} params - 请求参数
 * @param {number} params.page - 页码(可选，默认1)
 * @param {number} params.size - 每页条数(可选，默认10)
 */
export const getUserList = (params = {}) => {
  // 设置默认参数
  const defaultParams = {
    page: 1,
    size: 10,
    ...params
  }
  
  return service({
    url: '/userManage/list',
    method: 'get',
    params: defaultParams,
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  }).then(response => {
    // 统一处理响应数据
    if (response.data && response.data.code === 200) {
      return response.data
    } else {
      console.error('获取用户列表失败:', response.data?.message || '未知错误')
      return Promise.reject(response.data || new Error('获取用户列表失败'))
    }
  }).catch(error => {
    console.error('请求用户列表接口出错:', error)
    return Promise.reject(error)
  })
}
/**
 * 新增员工
 * @param {Object} employee - 员工信息对象
 * @returns {Promise}
 */
export const addEmployee = (employee) => {
  return service({
    url: '/userManage',
    method: 'post',
    data: employee, // 请求体为JSON格式
    headers: {
      'Content-Type': 'application/json'
    }
  }).then(response => {
    if (response.data && response.data.code === 200) {
      return response.data
    } else {
      console.error('新增员工失败:', response.data?.message || '未知错误')
      return Promise.reject(response.data || new Error('新增员工失败'))
    }
  }).catch(error => {
    console.error('新增员工接口请求出错:', error)
    return Promise.reject(error)
  })
}
// 在 userManager.js 中添加删除员工接口
/**
 * 删除员工
 * @param {number} empId - 员工ID
 * @returns {Promise}
 */
export const deleteEmployee = (empId) => {
  return service({
    url: `/userManage/${empId}`,
    method: 'delete',
    headers: {
      'Content-Type': 'application/json'
    }
  }).then(response => {
    if (response.data && response.data.code === 200) {
      return response.data
    } else {
      console.error('删除员工失败:', response.data?.message || '未知错误')
      return Promise.reject(response.data || new Error('删除员工失败'))
    }
  }).catch(error => {
    console.error('删除员工接口请求出错:', error)
    return Promise.reject(error)
  })
}
export default {
  getUserList,
  addEmployee,
  deleteEmployee
}

